﻿using System;
using NHibernate.Validator.Constraints;

namespace DataStore.Domain
{
    /// <summary>
    /// Cover of the document
    /// </summary>
    [Serializable]
    public class Cover
    {
        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        /// <value>The id.</value>
        public virtual Guid Id { get; set; }
        /// <summary>
        /// Gets or sets the path to the cover image.
        /// </summary>
        /// <value>The path.</value>
        [NotNull]
        public virtual Link Path { get; set; }
        /// <summary>
        /// Gets or sets the type of the cover image.
        /// </summary>
        /// <value>The type.</value>
        public virtual CoverType Type { get; set; }
        /// <summary>
        /// Gets or sets the size of the cover image.
        /// </summary>
        /// <value>The size.</value>
        public virtual CoverSize Size { get; set; }
        /// <summary>
        /// Gets or sets the description.
        /// </summary>
        /// <value>The description.</value>
        public virtual string Description { get; set; }
        /// <summary>
        /// Gets or sets a value indicating whether this cover is default.
        /// </summary>
        /// <value>
        /// 	<c>true</c> if this cover is default; otherwise, <c>false</c>.
        /// </value>
        public virtual bool IsDefault { get; set; }
    }
}
